package psrc.logic.pages.produto;

import psrc.logic.pages.base.ControllerBase;
import psrc.logic.util.Validador;
import psrc.logic.util.beans.ProdutoBean;

public class SendProdutoInsertController extends ControllerBase {

	private static final long serialVersionUID = 1L;

	private String idProduto;
	private String nome;
	private String referencia;
	private String materiais;
	private String cor;
	private String tamanho;
	private String preco;
	private String idFabrica;

	public String getIdProduto() {
		return idProduto;
	}

	public void setIdProduto(String idProduto) {
		this.idProduto = idProduto;
	}

	public String getReferencia() {
		return referencia;
	}

	public void setReferencia(String referencia) {
		this.referencia = referencia;
	}

	public String getMateriais() {
		return materiais;
	}

	public void setMateriais(String materiais) {
		this.materiais = materiais;
	}

	public String getCor() {
		return cor;
	}

	public void setCor(String cor) {
		this.cor = cor;
	}

	public String getTamanho() {
		return tamanho;
	}

	public void setTamanho(String tamanho) {
		this.tamanho = tamanho;
	}

	public String getPreco() {
		return preco;
	}

	public void setPreco(String preco) {
		this.preco = preco;
	}

	public String getIdFabrica() {
		return idFabrica;
	}

	public void setIdFabrica(String idFabrica) {
		this.idFabrica = idFabrica;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	/**
	 * @return the nome
	 */
	public String getNome() {
		return nome;
	}

	/**
	 * @param nome
	 *            the nome to set
	 */
	public void setNome(String nome) {
		this.nome = nome;
	}

	@Override
	public String executeController() throws Exception {
		if (validar()) {
			ProdutoBean bean = new ProdutoBean();
			bean.setCor(cor);
			bean.setIdProduto(idProduto);
			bean.setMateriais(materiais);
			bean.setPreco(Double.valueOf(preco.replace(",", ".")));
			bean.setProduto(nome);
			bean.setReferencia(referencia);
			bean.setTamanho(tamanho);

			ProdutoModel model = new ProdutoModel();
			if(model.insert(bean)){
				addActionMessage(getText("produto.successful"));				
			}
			return SUCCESS;
		} else {
			addActionError(getText("produto.error.incomplete"));
			return ERROR;
		}
	}

	private boolean validar() {
		boolean retorno = true;
		
		if (!Validador.validateName(nome, 30, true))
			retorno = false;
		if (!Validador.validateName(referencia, 10, true))
			retorno = false;
		if (!Validador.validateName(materiais, 15, true))
			retorno = false;
		if (!Validador.validateName(cor, 10, true))
			retorno = false;
		if (!Validador.validateName(tamanho, 3, true))
			retorno = false;
		if (!Validador.validateReal(preco.replaceAll(",", "."), true))
			retorno = false;

		return retorno;
	}

}
